<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>小兔鲜儿 - 新鲜 惠民 快捷!</title>
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="renderer" content="webkit">
  <link rel="stylesheet" href="./css/common.css">
  <link rel="stylesheet" href="./css/register.css">
  <link rel="stylesheet" href="./css/font_2143783_iq6z4ey5vu.css">
  <!-- <link rel="stylesheet" href="https://at.alicdn.com/t/font_2143783_iq6z4ey5vu.css"> -->
  <style>
    /* [name="username"] {
      background-color: #f99;
    } */
  </style>
</head>

<body>
  <!-- 项部导航 -->
  <div class="xtx_topnav">
    <div class="wrapper">
      <!-- 顶部导航 -->
      <ul class="xtx_navs">
        <li>
          <a href="./login.html">请先登录</a>
        </li>
        <li>
          <a href="./register.html">免费注册</a>
        </li>
        <li>
          <a href="./center-order.html">我的订单</a>
        </li>
        <li>
          <a href="./center.html">会员中心</a>
        </li>
        <li>
          <a href="javascript:;">帮助中心</a>
        </li>
        <li>
          <a href="javascript:;">在线客服</a>
        </li>
        <li>
          <a href="javascript:;">
            <i class="mobile sprites"></i>
            手机版
          </a>
        </li>
      </ul>
    </div>
  </div>
  <!-- 头部 -->
  <div class="xtx_header">
    <div class="wrapper">
      <!-- 网站Logo -->
      <h1 class="xtx_logo"><a href="/">小兔鲜儿</a></h1>
      <!-- 主导航 -->
      <div class="xtx_navs">
        <ul class="clearfix">
          <li>
            <a href="./index.html">首页</a>
          </li>
          <li>
            <a href="./category01.html">生鲜</a>
          </li>
          <li>
            <a href="./category01.html">美食</a>
          </li>
          <li>
            <a href="./category01.html">餐厨</a>
          </li>
          <li>
            <a href="./category01.html">电器</a>
          </li>
          <li>
            <a href="./category01.html">居家</a>
          </li>
          <li>
            <a href="./category01.html">洗护</a>
          </li>
          <li>
            <a href="./category01.html">孕婴</a>
          </li>
          <li>
            <a href="./category01.html">服装</a>
          </li>
        </ul>
      </div>
      <!-- 站内搜索 -->
      <div class="xtx_search clearfix">
        <!-- 购物车 -->
        <a href="./cart-none.html" class="xtx_search_cart sprites">
          <i>2</i>
        </a>
        <!-- 搜索框 -->
        <div class="xtx_search_wrapper">
          <input type="text" placeholder="搜一搜" onclick="location.href='./search.html'">
        </div>
      </div>
    </div>
  </div>
  <div class="xtx-wrapper">
    <div class="container">
      <!-- 卡片 -->
      <div class="xtx-card">
        <h3>新用户注册</h3>
        <form class="xtx-form">
          <div data-prop="username" class="xtx-form-item">
            <span class="iconfont icon-zhanghao"></span>
            <input name="username" type="text" placeholder="设置用户名称">
            <span class="msg"></span>
          </div>
          <div data-prop="phone" class="xtx-form-item">
            <span class="iconfont icon-shouji"></span>
            <input name="phone" type="text" placeholder="输入手机号码  ">
            <span class="msg"></span>
          </div>
          <div data-prop="code" class="xtx-form-item">
            <span class="iconfont icon-zhibiaozhushibiaozhu"></span>
            <input name="code" type="text" placeholder="短信验证码">
            <span class="msg"></span>
            <a class="code" href="javascript:;">发送验证码</a>
          </div>
          <div data-prop="password" class="xtx-form-item">
            <span class="iconfont icon-suo"></span>
            <input name="password" type="password" placeholder="设置6至20位字母、数字和符号组合">
            <span class="msg"></span>
          </div>
          <div data-prop="confirm" class="xtx-form-item">
            <span class="iconfont icon-suo"></span>
            <input name="confirm" type="password" placeholder="请再次输入上面密码">
            <span class="msg"></span>
          </div>
          <div class="xtx-form-item pl50">
            <i class="iconfont icon-queren"></i>
            已阅读并同意<i>《用户服务协议》</i>
          </div>
          <div class="xtx-form-item">
            <button class="submit">下一步</button>
            <!-- <a class="submit" href="javascript:;">下一步</a> -->
          </div>
        </form>
      </div>
    </div>
  </div>
  <!-- 公共底部 -->
  <div class="xtx_footer clearfix">
    <div class="wrapper">
      <!-- 联系我们 -->
      <div class="contact clearfix">
        <dl>
          <dt>客户服务</dt>
          <dd class="chat">在线客服</dd>
          <dd class="feedback">问题反馈</dd>
        </dl>
        <dl>
          <dt>关注我们</dt>
          <dd class="weixin">公众号</dd>
          <dd class="weibo">微博</dd>
        </dl>
        <dl>
          <dt>下载APP</dt>
          <dd class="qrcode">
            <img src="./uploads/qrcode.jpg">
          </dd>
          <dd class="download">
            <span>扫描二维码</span>
            <span>立马下载APP</span>
            <a href="javascript:;">下载页面</a>
          </dd>
        </dl>
        <dl>
          <dt>服务热线</dt>
          <dd class="hotline">
            400-0000-000
            <small>周一至周日 8:00-18:00</small>
          </dd>
        </dl>
      </div>
    </div>
    <!-- 其它 -->
    <div class="extra">
      <div class="wrapper">
        <!-- 口号 -->
        <div class="slogan">
          <a href="javascript:;" class="price">价格亲民</a>
          <a href="javascript:;" class="express">物流快捷</a>
          <a href="javascript:;" class="quality">品质新鲜</a>
        </div>
        <!-- 版权信息 -->
        <div class="copyright">
          <p>
            <a href="javascript:;">关于我们</a>
            <a href="javascript:;">帮助中心</a>
            <a href="javascript:;">售后服务</a>
            <a href="javascript:;">配送与验收</a>
            <a href="javascript:;">商务合作</a>
            <a href="javascript:;">搜索推荐</a>
            <a href="javascript:;">友情链接</a>
          </p>
          <p>CopyRight &copy; 小兔鲜儿</p>
        </div>
      </div>
    </div>
  </div>
  <script>
    // 需求①： 发送验证码
    let code = document.querySelector('.code')

    code.addEventListener('click', function () {
      // 事件处理函数中，this指向事件源

      // 修改内容
      this.innerHTML = '05秒后重新获取'

      // 倒计时从5开始
      let num = 5

      // 倒计时 ==> 开定时器
      let timerId = setInterval(function () {
        num--
        // 定时器 的回调函数中的this指向window对象
        // console.log(this)  // window

        code.innerHTML = `0${num}秒后重新获取`

        if (num === 0) {
          // 关闭定时器
          clearInterval(timerId)
          // 修改内容
          code.innerHTML = `重新获取`
        }
      }, 1000)
    })


    // 提供verify函数来实现校验功能
    // 形参reg 表示校验的正则
    // 形参element 表示对应的输入框
    // 形参tip 表示校验不通过的提示消息
    function verify(reg, element, tip) {
      // 1. 定义正则 
      // 2. 获取输入框内容
      // 3. 校验内容是否符合正则要求  test
      // 4. 提示消息 + 返回值（告知校验结果）

      // 1. 
      // let reg = /^[a-zA-Z0-9—_]{6,16}$/
      let span = element.nextElementSibling

      // 2. 
      // console.log(element.value)
      // 3. 
      if (!reg.test(element.value)) {
        // 不符合正则要求
        span.innerHTML = tip
        return false
      }

      // 符合要求 ==> 提示去掉
      span.innerHTML = ''
      return true
    }

    // 需求②： 用户名验证
    let username = document.querySelector('[name=username]')
    username.addEventListener('change', function () {
      verify(/^[a-zA-Z0-9—_]{6,16}$/, username, '用户名必须在6-16位之间')
    })


    // 需求③： 手机号验证
    let phone = document.querySelector('[name=phone]')
    phone.addEventListener('change', function () {
      verify(/^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/, phone, '请输入正确的手机号')
    })


    // 需求④： 验证码验证
    let codeInput = document.querySelector('[name=code]')
    codeInput.addEventListener('change', function () {
      // 6位数字的验证码
      verify(/^\d{6}$/, codeInput, '请输入6位数字的验证码')
    })


    // 需求⑤： 密码验证
    let password = document.querySelector('[name=password]')
    password.addEventListener('change', function () {
      verify(/^[a-zA-Z0-9_-]{6,20}$/, password, '请输入正确的密码')
    })


    // 需求⑥： 再次密码验证
    let confirmInput = document.querySelector('[name=confirm]')
    confirmInput.addEventListener('change', function () {
      verifyPassword()
    })

    // 校验两次密码是否一致
    function verifyPassword() {
      // 获取密码的内容 与  再次输入的密码内容 ，两个密码比较即可
      let span = confirmInput.nextElementSibling

      if (password.value !== confirmInput.value) {
        // 两个密码不一致
        span.innerHTML = '两次输入的密码不一致'
        return false
      }

      span.innerHTML = ''
      return true
    }


    // 需求⑦： 我同意模块
    let querenBtn = document.querySelector('.icon-queren')
    querenBtn.addEventListener('click', function () {
      // 切换 icon-queren2 类名   classList.toggle()   classList.contains()
      querenBtn.classList.toggle('icon-queren2')
    })


    // 需求⑧： 提交按钮模块
    let btn = document.querySelector('.xtx-form-item button')
    btn.addEventListener('click', function (e) {
      // 阻止默认行为（防止表单提交跳转）
      e.preventDefault()

      // 对表单的元素进行一一校验
      let res1 = verify(/^[a-zA-Z0-9—_]{6,16}$/, username, '用户名必须在6-16位之间')
      let res2 = verify(/^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/, phone, '请输入正确的手机号')
      let res3 = verify(/^\d{6}$/, codeInput, '请输入6位数字的验证码')
      let res4 = verify(/^[a-zA-Z0-9_-]{6,20}$/, password, '请输入正确的密码')
      let res5 = verifyPassword()

      // 校验是否有勾选协议
      if (!querenBtn.classList.contains('icon-queren2')) {
        // 没有勾选
        alert('请勾选同意协议')

        return
      }

      // 校验都通过了 + 并且也否选了协议了 才跳转页面
      if (res1 && res2 && res3 && res4 && res5) {
        location.href = './login.html'
      }
    })
  </script>
</body>

</html>